package com.ss.test06;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

/**
 * @Auther: 520ljs
 * @Date: 2022/3/17 - 03 - 17 - 13:26
 */
public class Test2 {
    //这是一个main方法，是程序的入口
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        list.add("eee");
        //在"ccc"之后添加一个字符串"kkk"

        /*Iterator<String> it = list.iterator();//出错：迭代器和list同时对集合进行操作
        while(it.hasNext()){
            if("ccc".equals(it.next())){
                list.add("kkk");
            }
        }*/

        //解决办法:事情让一个"人"做--->引入新的迭代器:ListIterator
        //迭代和添加操作都是靠ListIterator来完成的：
        ListIterator<String> it = list.listIterator();
        while(it.hasNext()){
            if("ccc".equals(it.next())){
                it.add("kkk");
            }
        }
        System.out.println(list);
        System.out.println(it.hasPrevious());
        //逆向遍历：
        while(it.hasPrevious()){
            System.out.println(it.previous());
        }
        System.out.println(it.hasNext());
        System.out.println(it.hasPrevious());
        System.out.println(list);
    }
}
